package com.divemotor.ventarepuestosinternet.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="REP_MOV_PROMOCION_COTIZACION")
public class PromocionCotizacion implements Serializable {
	
	private static final long serialVersionUID = 7189476662908564773L;

	@EmbeddedId
	private PromocionCotizacionPK idPromocionCotizacion;
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="num_id_cotizacion", referencedColumnName="num_id_cotizacion", insertable = false, updatable = false)
    private Cotizacion cotizacion;
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="COD_ID_PROMOCION", referencedColumnName="COD_ID_PROMOCION", insertable = false, updatable = false)
	private Promocion promocion;
	@Column( name="can_cantidad")
	private Integer cantidad;

	public Cotizacion getCotizacion() {
		return cotizacion;
	}

	public void setCotizacion(Cotizacion cotizacion) {
		this.cotizacion = cotizacion;
	}

	public Promocion getPromocion() {
		return promocion;
	}

	public void setPromocion(Promocion promocion) {
		this.promocion = promocion;
	}

	public Integer getCantidad() {
		return cantidad;
	}

	public void setCantidad(Integer cantidad) {
		this.cantidad = cantidad;
	}

	public PromocionCotizacionPK getIdPromocionCotizacion() {
		return idPromocionCotizacion;
	}

	public void setIdPromocionCotizacion(PromocionCotizacionPK idPromocionCotizacion) {
		this.idPromocionCotizacion = idPromocionCotizacion;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((idPromocionCotizacion == null) ? 0 : idPromocionCotizacion.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj){
			return true;
		}
		if (obj == null){
			return false;
		}
		if (getClass() != obj.getClass()){
			return false;
		}
		PromocionCotizacion other = (PromocionCotizacion) obj;
		if (idPromocionCotizacion == null) {
			if (other.idPromocionCotizacion != null){
				return false;
			}
		} else if (!idPromocionCotizacion.equals(other.idPromocionCotizacion)){
			return false;
		}
		return true;
	}

}
